package com.docted.design.pattern.factory.simple;

import com.docted.design.pattern.factory.Guangming;
import com.docted.design.pattern.factory.Mengniu;
import com.docted.design.pattern.factory.Milk;
import com.docted.design.pattern.factory.Yili;

/**
 * @author DoCted
 * @since v1.0 2018/3/5
 */
public class SimpleFactory {

    /**
     * 工厂直接根据用户穿入的需求创建对应的产品
     * 只将产品抽象出来。在工厂的方法中直接判断要求并创建产品
     *
     * 但是有个问题： 如果传入的需求不符合规范，那么是不能创建出对应的产品的
     *              即用户可以输入任意的需求
     *
     *
     * @param name
     * @return
     */

    public Milk getMilk(String name) {
        if ("Mengniu".equals(name)) {
            return new Mengniu();
        } else if ("Yili".equals(name)) {
            return new Yili();
        } else if ("Guangming".equals(name)) {
            return new Guangming();
        } else {
            System.out.println("此工厂无法生产出您需要的产品");
            return null;
        }
    }
}
